Items (hereinafter referred to as “content”) may be downloaded and recorded on a client device where the content was acquired using ABR streaming. An ABR download system detects a user device's bandwidth and CPU capacity in real time and adjusts the quality of a video stream accordingly. The ABR download system typically includes an encoder which can encode a single source video at multiple bit rates. The player client switches between streaming the different encodings depending on available resources. As a consequence of the way the ABR download system works, the client device requires very little buffering, fast start time and a good user experience for both high-end and low-end connections.
Typically, recording an ABR session involves running a regular ABR live streaming session (i.e. recording what is available on the network at a given time under the network conditions prevalent at that time) and storing the result of that session.